

// 封装 增删改查  4个函数 

// findone 
exports.findOneTableData = function({model,query={},field={},res,callback,msg = "查询成功" }){
    model.findOne(
        query,
        field,
    ).then(result=>{
        if(callback){
            callback(result)  // 表示是否有下一步操作 
        }else{
            res.json({
                code:200,
                msg:msg,
                result 
            })
        }
    })
    .catch(err=>{
        console.log(err)
        res.json({
            code:500,
            msg:'服务器异常',
            err 
        })
    })
}


// 添加
exports.insertTableData = function({model,res,data,callback,msg="添加成功"}){
    model
    .insertMany(data)
    .then(result=>{
        if(callback){
            callback(result)
        }else{
            res.json({
                code:200,
                msg:msg,
                result, 
            })
        }
    })
    .catch(err=>{
        console.log(err)
        res.json({
            code:500,
            msg:'服务器异常',
            err 
        })
    })
}

// 修改
exports.updateTableData = function({model,query,res,data,callback,msg="修改成功"}){
    model
    .updateMany(query,data)
    .then(result=>{
        if(callback){
            callback(result)
        }else{
            res.json({
                code:200,
                msg:msg,
                result, 
            })
        }
    })
    .catch(err=>{
        console.log(err)
        res.json({
            code:500,
            msg:'服务器异常',
            err 
        })
    })
}


exports.findManyTableData = function({model,query={},field={},res,callback,msg = "查询成功",sort,limit,skip }){
    model.find(
        query,
        field,
    )
    .sort(sort)
    .limit(limit)
    .skip(skip)
    .then(result=>{
        if(callback){
            callback(result)  // 表示是否有下一步操作 
        }else{
            res.json({
                code:200,
                msg:msg,
                result 
            })
        }
    })
    .catch(err=>{
        console.log(err)
        res.json({
            code:500,
            msg:'服务器异常',
            err 
        })
    })
}



// 删除
exports.removeTableData = function({model,query,res,callback,msg="删除成功"}){
    model
    .remove(query)
    .then(result=>{
        if(callback){
            callback(result)
        }else{
            res.json({
                code:200,
                msg:msg,
                result, 
            })
        }
    })
    .catch(err=>{
        console.log(err)
        res.json({
            code:500,
            msg:'服务器异常',
            err 
        })
    })
}